/////////////////////////////////////////////////////////////////////
//
//  MOE Framework (Meta Object Encapsulation Framework)
//
//  Original Author: Wiksy Wang, 2011
//
/////////////////////////////////////////////////////////////////////

#ifndef MOE_ASSIGN_CTOR_HPP
#define MOE_ASSIGN_CTOR_HPP

#include "../FunctionTypeDef.h"

namespace MOE
{

namespace Assign
{

namespace Functors
{

template <class T>
class DefaultCtor
{
public:
	Address operator() () const
	{
		return new T();
	}
};

}

template <class T>
DefaultConstructorFuncType DefaultCtor()
{
	return Functors::DefaultCtor<T>();
}

}

}

#endif
